package com.cn.serverline.lineicp.productionLine.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Data;
import java.sql.Timestamp;

/**
 * 交付计划
 *
 * @author 郭明然
 * @since 2024-08-22
 */
@TableName("PLAN_DELIVERY")
@ApiModel(value = "Delivery对象", description = "交付计划")
@Data
@EqualsAndHashCode
public class Delivery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId(value = "ID", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 工段ID
     */
    @ApiModelProperty("工段ID")
    @TableField("PLAN_WORK_SECTION_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long planWorkSectionId;

    /**
     * 滚动计划下发详情ID
     */
    @ApiModelProperty("滚动计划下发详情ID")
    @TableField("ROLLING_IMPORT_ID")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long rollingImportId;

    /**
     * T
     */
    @ApiModelProperty("T")
    @TableField("T_MONTHIY")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long tMonthiy;

    /**
     * 年份
     */
    @ApiModelProperty("年份")
    @TableField("YEAR")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long year;

    /**
     * 月份
     */
    @ApiModelProperty("月份")
    @TableField("MONTH")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long month;

    /**
     * 下发时间
     */
    @ApiModelProperty("下发时间")
    @TableField("ISSUING_TIME")
    private Timestamp issuingTime;

    /**
     * 完成节点划分状态(0未完成 1已完成)
     */
    @ApiModelProperty("完成节点划分状态(0未完成 1已完成)")
    @TableField("NODE_P_STATUS")
    private Integer nodePStatus;

    /**
     * 周计划生成状态(0未完成 1已完成)
     */
    @ApiModelProperty("周计划生成状态(0未完成 1已完成)")
    @TableField("WEEK_PLAN_G_STATUS")
    private Integer weekPlanGStatus;

    /**
     * 乐观锁
     */
    @ApiModelProperty("乐观锁")
    @TableField("VERSION")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long version;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    @TableField("CREATE_USER")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField("CREATE_TIME")
    private Timestamp createTime;

    /**
     * 最后修改人
     */
    @ApiModelProperty("最后修改人")
    @TableField("UPDATE_USER")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long updateUser;

    /**
     * 最后修改时间
     */
    @ApiModelProperty("最后修改时间")
    @TableField("UPDATE_TIME")
    private Timestamp updateTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @TableField("REMARK")
    private String remark;
}
